System clocks are necessary for the operation of microprocessors and microcontrollers. In many instances, loss of a system clock causes the microcontroller or microprocessor to stop. However, this is not acceptable or practical in certain situations. In particular, in control applications where a microcontroller is being used to govern the operation of a system, it is often essential that the system continues to operate so that it can go to a known state despite a loss of clock. One example of this is in an automotive engine controller, where an engine must be allowed to continue to operate even if the primary clock is lost.
As noted, the most basic answer to a loss of system clock is to take no further action, stopping of the microprocessor or microcontroller, and leaving the system nonoperational. One solution for keeping the microprocessor/microcontroller operating after losing the system clock is to monitor the output of the system clock and to switch to a free-running RC oscillator upon loss of the system clock. This approach has several problems. One problem is that such a free-running RC oscillator requires increased chip area, consumes more power, and adds complexity. Another problem is that it is hard to control the frequency of such RC oscillators due to manufacturing process variations. With this solution, it is also impossible to distinguish between actual external reference clock failure and failure of the phase locked loop (PLL).
Another solution is to monitor the PLL's reference clock but not to alter the source of the system clock upon a reference failure. Instead, the voltage controlled oscillator (VCO) of the PLL is driven by a relatively constant voltage, which produces a fixed output frequency from the PLL, when the system clock is lost. One problem with this approach is that only one clock source is actually being monitored. Thus, it is impossible to determine whether or not the failure was in the reference clock or in the PLL itself. Also, if the PLL is the source which is not operational, then the system itself remains nonoperational.